#ifndef OPTIONSSTATE_H
#define OPTIONSSTATE_H

#include "Singleton.h"
#include "EventHandler.h"
#include "EventPoller.h"
#include "GameState.h"

#include <D3DX10.h>

enum SEEKING_STATE
{
	COHESION = 0,
	SEPARATION = 1,
	WANDER = 2
};

class OptionsState : public Uncopyable, public GameState, public EventHandler
{	
	OptionsState();
	friend class Singleton<OptionsState>;
public:
	void Update();
	void Draw();
	virtual void OnActivated();
	virtual void OnDeactivated();
	
	virtual void OnKeyDownEvent(const WPARAM& event);
	virtual void OnKeyUpEvent(const WPARAM& event);
	virtual void OnMouseMotionEvent(const LPARAM& event);
	virtual void OnMouseButtonDownEvent(const MSG& event);
	virtual void OnMouseButtonUpEvent(const MSG& event);

private:
	D3DXVECTOR2 m_screenSize;
	D3DXVECTOR2 m_mousePos;
	D3DXVECTOR2 m_convertedMousePos;
	bool m_mouseDown;
	bool m_generateBackground;
	SEEKING_STATE m_seekingState;
};

typedef Singleton<OptionsState> TheOptionsState;

#endif //OPTIONSTATE_H